package com.wang.springbootinit.controller.admin;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wang.springbootinit.common.BaseResponse;
import com.wang.springbootinit.common.ResultUtils;
import com.wang.springbootinit.model.dto.ExemptionQueryDTO;
import com.wang.springbootinit.model.dto.ExemptionReviewDTO;
import com.wang.springbootinit.model.vo.ExemptionVO;
import com.wang.springbootinit.service.ExemptionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;

/**
 * 管理员免测审核申请控制器
 * 处理管理员对免检申请的相关操作
 */
@RestController
@RequestMapping("/admin/exemption")
public class AdminExemptionController {
    @Autowired
    private ExemptionService exemptionService;

    /**
     * 审核免检申请
     * @param reviewDTO 审核信息数据传输对象
     * @return 审核结果
     */
    @PostMapping("/review")
    public BaseResponse reviewExemption(@RequestBody ExemptionReviewDTO reviewDTO, HttpServletRequest request) {
        return ResultUtils.success(exemptionService.reviewExemption(reviewDTO,request));
    }

//    /**
//     * 审核免检审核
//     * @param reviewDTO 审核信息数据传输对象
//     * @return 审核结果
//     */
//    @PostMapping("/audit")
//    public BaseResponse audit(@RequestBody ExemptionReviewDTO reviewDTO) {
//        return ResultUtils.success(exemptionService.audit(reviewDTO));
//    }

    /**
     * 分页获取免检申请列表
     * @param queryDTO 查询条件数据传输对象
     * @return 分页后的免检申请列表
     */
    @GetMapping("/page")
    public BaseResponse<Page<ExemptionVO>> getExemptionPage(ExemptionQueryDTO queryDTO) {
        return ResultUtils.success(exemptionService.getExemptionPage(queryDTO));
    }

    /**
     * 根据ID获取免检申请详情
     * @param exemptionId 免检申请ID
     * @return 免检申请详细信息
     */
    @GetMapping("/get/{id}")
    public BaseResponse getExemptionById(@PathVariable("id") Long exemptionId) {
        return ResultUtils.success(exemptionService.getExemptionById(exemptionId));
    }
} 